package io.renren.modules.workjobs.service;

import com.baomidou.mybatisplus.extension.service.IService;
import io.renren.common.utils.PageUtils;
import io.renren.common.utils.R;
import io.renren.modules.common.viewdo.TreeOption;
import io.renren.modules.workjobs.entity.WorkJobEntity;
import io.renren.modules.workjobs.entity.dto.QueryCondition;

import java.util.List;
import java.util.Map;

/**
 * 
 *
 * @author nyc
 * @email 2691778746@qq.com
 * @date 2022-03-07 17:53:27
 */
public interface WorkJobService extends IService<WorkJobEntity> {

    PageUtils queryPage(Map<String, Object> params);

    /**
     * 级联触发
     * @return
     */
    List<TreeOption> treeOptionCCJ();

    /**
     * 修改职位的发布状态
     * @param workJobEntity
     */
    boolean updateWorkPublishStatus(WorkJobEntity workJobEntity);

    /**
     * 查询职位的信息
     * @return
     */
    R showList(String current,String size);

    /**
     *  查询职位的信息 最新的方法
     * @param current
     * @param size
     * @return
     */
    R showListWorkInfo(String current, String size, QueryCondition queryCondition);


    /**
     * 职位投递的信息
     * @param workJobId
     * @param userId
     * @return
     */
    boolean deliver(String workJobId, String userId);

    /**
     * 查询出来职位投递的信息
     * @param userId
     * @param current
     * @param size
     * @return
     */
    R IPageList(String userId, String current, String size);



    /**
     * 根据用户的Id,查询出来有那些人投递了我的职位
     * @param userId
     * @return
     */
    R queryDeliverPosition(String userId, String current, String size);

    /**
     * 企业用户审判这个求职者用户是否和这个职位相互匹配
     * @param deliveryId
     * @return
     */
    R fitOrNotFit(String deliveryId,String positionId,Integer feedback);
}

